Rashberry pi-gentoo安装云盘限定文件夹大小

  购买了Raspberry Pi有一段时间了,一直想着榨尽其功效。用来做过广告过滤,Ftp,shairport-sync ,web服务器。其实大多数时候还是作为下载器使用BaiduExporter aria2 下载百度云盘电影,使用迅雷固件作为下载器。很久以前就看到有说用做云盘使用的文章,但是一直没用动手终于在这一天抽出手来了。因为是在树莓派上有很多人估计还是使用SD卡,不过本人使用得是64G U盘,SD卡和U盘想要性能好点价格还不是大白菜,所以限定云盘的空间就很有必要了。

1.1linux文件夹大小限制

  linux下文件夹大小限定本来我以为是非常简单的一件事情可是真的弄起来就不是这么回事了,要是您还没安装,恭喜你这个事情还是非常简单的,只要单独分个分区或使用xfs可以限制项目比较容易实现。但是要是你已经分区好了并且运维着系统时上面这些方法可能就是不是很适合使用了,方法不适用但是我们根据方法灵活思考适用什么适合的方法,比如分区安装linux就是挂载分区到某个文件夹比如:
mount /dev/sda1 /mnt/
就是讲某个文件挂载到一个目录中。于是我想到了与swapfile类似的方法,就是创建一个文件,然后将这个文件格式化,最后挂载在某目录中,创建文件是可以限制大小的,具体实现步骤如下

  1. 创建文件,我打算创建5G作为私人云(安全),其他的可以使用网盘。
        $ dd if=/dev/zero of=/space.img bs=5M count=1000
  2. 挂载设备相当于linux分区
        # losetup /dev/loop0 /目录/space.ing

  3. 格式化分区。
        mkfs.ext4 /dev/loop0

  4. 挂载文件夹
       mkdir /mnt/clound
       mount -t ext4 /dev/loop0 /mnt/clound 

  5. 加入gentoo开机启动
       nano /etc/local.d/filemount.start
       #!/bin/bash
       losetup /dev/loop0 /home/vast/clound.img
       mount -t ext4 /dev/loop0 /home/vast/clound

至此Linux限制文件夹大小步骤已经完成了。

1.2安装云盘配置

  本来也应该是比较容易的,但是在“墙”的世界一切都变得不那么理所当然了,原本是打算安装BitTorrent Sync的因为分布bt保密方便各种都还不错不过不是开源的也保证不了,更加主要的原因是因为网站基本是在半墙状态。打开官网没有下载链接一一点不到还是看网页元素分析得到下载链接的,结果经常下载5M左右半小时都下载不下来经常断。后来想下实在是不行这个方案难道每次更新都这样维护就太头疼了。
  于是在能继续找方法了,忽然想起很久以前就看到过收藏在收藏夹的一个实现云盘软件syncthing 更重要的是这货是开源的,开源的,开源的(重要事情要说三遍)因为就你自己的服务器与客户端所以隐私得到保护,开源,源代码的安全也有保障了。绑定每个设备ID就可以同步了支持跨内网,支持Mac OS X、Windows、Linux、FreeBSD和Solaris 以及安卓,有点点遗憾就是ios客户端还没有。

1. 安装

1.1. 安装
   emerge -v net-p2p/syncthing
1.2. 启动服务
   /etc/init.d/syncthing start
1.3. 运行
   # sything

2. 配置

2.1 开机启动使用cron服务控制
   # nano syncthing.sh
   #!/bin/bash
   syncthing
   # crontab -e 输入30 3 * * * /root/syncthing.sh

2.2启动后运行一会自动配置文件中断运行ctrl+c 修改配置文件
   # nano ~/.config/syncthing/config.xml
将”《address》127.0.0.1:4448《/address》”改为0.0.0.0:8000
然后再次运行syncthing。
浏览器输入你机器IP:8000就可以访问控制你的云盘了

  • 第一次记得输入你的名字密码进行保护
  • 点击+添加文件夹我们上面限定大小的文件夹按照文件夹目录添加即可,记得设定文件夹标识,你别的机器客户端如安卓手机添加同步目录时需要使用相同的文件夹标识,才会同步。

    至此安装网盘限定文件夹大小的目的都达成了。
    write by vastchen
    blog:vastchen.github.io